Code-Inspector-Prüfungen auflisten

Heute stand ich vor der Herausforderung, dass ich alle Code-Inspector-Prüfungen herausfinden wollte, die in einer Prüfvariante aktiv sind. Natürlich kann man sich diese über die Pflege der Varianten im Code-Inspector über Transaktion SCI anzeigen lassen. Allerdings wird hier der gesamte Baum der verfügbaren Prüfungen aufgelistet und man muss sich die heraussuchen, die aktiviert sind. Eine nervige und Fehleranfällige Aufgabe, wenn man die aktiven Prüfungen irgendwie dokumentieren möchte.

So sieht die Baumstruktur der Prüfungen aus:

Um die technischen Texte anstelle der Beschreibungen anzuzeigen, gehe über das Menü Prüfvariante • Anzeigen • Technische Namen.

Auflistung der aktiven Prüfvarianten

Mit dem folgenden Code werden die aktiven Prüfungen zu einer Prüfvariante ermittelt und ausgegeben.

Wenn du die Prüfungen einer globalen Prüfvariante ermitteln möchtest, dann muss OWNER leer bleiben. Für eine lokale Prüfvariante setze den entsprechenden User ein.

Code

PARAMETERS name  TYPE scichkv_hd-checkvname DEFAULT 'DEFAULT'.
PARAMETERS owner TYPE scichkv_hd-ciuser     DEFAULT space.

START-OF-SELECTION.

  SELECT SINGLE * FROM scichkv_hd
      WHERE checkvname = @name     ##WARN_OK
        AND ciuser     = @owner                         "#EC CI_NOORDER
       INTO @DATA(variant_header).

  DATA(main) =  cl_ci_checkvariant=>get_ref(
     p_user                   = owner
     p_name                   = name ).
  CHECK main IS BOUND.

  main->get_info(
    EXCEPTIONS
      could_not_read_variant = 1
      OTHERS                 = 2 ).

  IF sy-subrc = 0.
    cl_demo_output=>display_data(
      VALUE string_table(
        FOR variant IN main->variant (
          CONV #( variant-testname ) ) ) ).
  ENDIF.
Enno Wulff
Letzte Artikel von Enno Wulff (Alle anzeigen)